calendar: Stop using ::focus-out-event
authorMatthias Clasen <mclasen@redhat.com>
Sat, 6 Jan 2018 22:52:56 +0000 (17:52 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 16 Jan 2018 19:14:10 +0000 (14:14 -0500)
Use the generic ::event signal.

gtk/gtkcalendar.c

index a745f394e6eb8ede5affdf7c9138eedb5820c4cd..0899748f56d11a50dbc9be32855a59ba19547d92 100644 (file)
@@ -297,8 +297,8 @@ static void     gtk_calendar_drag_update    (GtkGestureDrag   *gesture,
                                              gpointer          data);
 static gboolean gtk_calendar_key_press      (GtkWidget        *widget,
                                              GdkEventKey      *event);
-static gboolean gtk_calendar_focus_out      (GtkWidget        *widget,
-                                             GdkEventFocus    *event);
+static gboolean gtk_calendar_event          (GtkWidget        *widget,
+                                             GdkEvent         *event);
 static void     gtk_calendar_grab_notify    (GtkWidget        *widget,
                                              gboolean          was_grabbed);
 static void     gtk_calendar_state_flags_changed  (GtkWidget     *widget,
@@ -377,7 +377,7 @@ gtk_calendar_class_init (GtkCalendarClass *class)
   widget_class->key_press_event = gtk_calendar_key_press;
   widget_class->state_flags_changed = gtk_calendar_state_flags_changed;
   widget_class->grab_notify = gtk_calendar_grab_notify;
-  widget_class->focus_out_event = gtk_calendar_focus_out;
+  widget_class->event = gtk_calendar_event;
   widget_class->query_tooltip = gtk_calendar_query_tooltip;
 
   widget_class->drag_data_get = gtk_calendar_drag_data_get;
@@ -2886,17 +2886,20 @@ gtk_calendar_grab_notify (GtkWidget *widget,
 }
 
 static gboolean
-gtk_calendar_focus_out (GtkWidget     *widget,
-                        GdkEventFocus *event)
+gtk_calendar_event (GtkWidget *widget,
+                    GdkEvent  *event)
 {
   GtkCalendar *calendar = GTK_CALENDAR (widget);
 
-  calendar_queue_refresh (calendar);
-  calendar_stop_spinning (calendar);
+  if (gdk_event_get_event_type (event) == GDK_FOCUS_CHANGE)
+    {
+      calendar_queue_refresh (calendar);
+      calendar_stop_spinning (calendar);
 
-  calendar->priv->in_drag = 0;
+      calendar->priv->in_drag = 0;
+    }
 
-  return FALSE;
+  return GDK_EVENT_PROPAGATE;
 }
 
 \f